Traditional local computer applications and software are increasingly being replaced by remotely hosted solutions. Hosted solutions may provide scalability and flexibility at reduced cost. Remote solutions, however, present unique usability challenges. Users may demand that the hosted applications have an extremely high availability and low failure rate. Additionally, in the event of a system failure, users may demand expedient recovery of their data. System down-time as minor as several minutes may be unacceptable to a user, and may cost a service provider valuable business.
To address usability challenges, a service provider may implement a clustered failover environment. Servers in the cluster may maintain redundant copies of a given application, allowing the application to be activated on any node in the cluster should another node fail. Cluster environments, however, present novel backup and recovery challenges. Redundant copies of applications may be inconsistent between cluster nodes. Changes to an application on one node may not immediately be replicated on the other nodes. Further, changes made to an application may not immediately be written to a shared storage medium. As a result, backups of applications taken from individual nodes or common storage may be inconsistent and out-dated.
There is a need, therefore, for an improved method, system, article of manufacture, and apparatus for creating and restoring application backups in a clustered environment.